home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Authority.sea / XML Authority / Required / ldapjdk.jar / netscape / ldap / util / GetOpt.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-13  |  1.8 KB  |  73 lines

  1. package netscape.ldap.util;
  2.  
  3. import java.util.Hashtable;
  4. import java.util.Vector;
  5.  
  6. public class GetOpt {
  7.    private int m_pos;
  8.    private String optarg;
  9.    private String m_control;
  10.    private Vector m_option = new Vector();
  11.    private Vector m_ParameterList;
  12.    private Hashtable m_optionHashTable;
  13.    private Hashtable m_optionParamHashTable;
  14.  
  15.    public GetOpt(String var1, String[] var2) {
  16.       this.m_control = var1;
  17.       this.m_optionHashTable = new Hashtable();
  18.       this.m_optionParamHashTable = new Hashtable();
  19.       this.m_ParameterList = new Vector();
  20.  
  21.       for(int var3 = 0; var3 < var2.length; ++var3) {
  22.          String var4 = var2[var3];
  23.          if (var4.length() > 0) {
  24.             if (var4.charAt(0) != '-' && var4.charAt(0) != '/') {
  25.                this.m_ParameterList.addElement(var2[var3]);
  26.             } else if (var4.length() > 1) {
  27.                int var5 = this.m_control.indexOf(var4.charAt(1));
  28.                if (var5 == -1) {
  29.                   System.err.println("Invalid usage. No option -" + var4.charAt(1));
  30.                } else {
  31.                   char[] var6 = new char[]{var4.charAt(1)};
  32.                   String var7 = new String(var6);
  33.                   this.m_optionHashTable.put(var7, "1");
  34.                   if (this.m_control != null && this.m_control.length() > var5 + 1 && this.m_control.charAt(var5 + 1) == ':') {
  35.                      ++var3;
  36.                      if (var3 < var2.length) {
  37.                         this.m_optionParamHashTable.put(var7, var2[var3]);
  38.                      } else {
  39.                         System.err.println("Missing argument for option " + var4);
  40.                      }
  41.                   }
  42.                }
  43.             } else {
  44.                System.err.println("Invalid usage.");
  45.             }
  46.          }
  47.       }
  48.  
  49.    }
  50.  
  51.    public boolean hasOption(char var1) {
  52.       boolean var2 = false;
  53.       char[] var3 = new char[]{var1};
  54.       String var4 = new String(var3);
  55.       if (this.m_optionHashTable.get(var4) == "1") {
  56.          var2 = true;
  57.       }
  58.  
  59.       return var2;
  60.    }
  61.  
  62.    public String getOptionParam(char var1) {
  63.       char[] var2 = new char[]{var1};
  64.       String var3 = new String(var2);
  65.       String var4 = (String)this.m_optionParamHashTable.get(var3);
  66.       return var4;
  67.    }
  68.  
  69.    public Vector getParameters() {
  70.       return this.m_ParameterList;
  71.    }
  72. }
  73.